// src/services/types/indicator.types.ts
// 将原来散落在各处的类型定义集中到这里

// K线数据接口
export interface TAKlineData {
  timestamp: string | number;  // 时间戳
  open: number;               // 开盘价
  high: number;               // 最高价
  low: number;                // 最低价
  close: number;              // 收盘价
  volume: number;             // 成交量
}

// RSI指标结果接口
export interface RSIResult {
  timestamp: string | number;  // 对应的时间戳
  value: number;              // RSI值
}

// RSI计算选项
export interface RSIOptions {
  period: number;  // 周期，默认6
}

// MACD指标结果接口
export interface MACDResult {
  timestamp: string | number;  // 对应的时间戳
  DIF: number;               // 差离值(MACD线)
  DEA: number;               // 平滑异同平均(信号线)
  MACD: number;              // 柱状图值(DIF-DEA)
}

// MACD计算选项
export interface MACDOptions {
  fastPeriod: number;        // 快线周期，默认12
  slowPeriod: number;        // 慢线周期，默认26
  signalPeriod: number;      // 信号线周期，默认9
}

// 布林带计算结果
export interface BOLLResult {
  timestamp: number | string;
  upper: number;
  middle: number;
  lower: number;
  pb: number; // 价格带宽比率
}

/**
 * SMA计算选项
 */
export interface SMAOptions {
  period: number;
}

/**
 * SMA计算结果
 */
export interface SMAResult {
  timestamp: number | string;
  value: number;
}

/**
 * EMA计算选项
 */
export interface EMAOptions {
  period: number;
}

/**
 * EMA计算结果
 */
export interface EMAResult {
  timestamp: number | string;
  value: number;
}

/**
 * ATR计算选项
 */
export interface ATROptions {
  period: number;
}

/**
 * ATR计算结果
 */
export interface ATRResult {
  timestamp: number | string;
  value: number;
}


// 布林带计算选项
export interface BOLLOptions {
  period: number;            // 计算周期，默认20
  stdDev: number;            // 标准差倍数，默认2
}

// 其他指标类型定义... 